[iOS] アプリ内課金 正常系メッセージの一覧
1 はじめに
アプリ内課金のプログラムは、タイプによって、動作や実装方法も少し変わってくるので、慣れないと少しややこしいと思います。また、ちょっと試験するにも、iTunes Connectへの登録や、課金プロダクトの作成などが必要で簡単に試せないのが辛いです。
今回は、正常系を整理するという意味で、正常動作している場合に表示されるメッセージについてまとめてみました。
なお、画面に、[Environment: Sandbox]と表示されている文字は、試験用サンドボックスで実施しているため表示されているものであって、本番環境では表示されません。
2 消耗型
何度でも購入できるため、毎回同じメッセージとなります。
(1) 初回も2回目以降も同じ
→ |
3 非消耗型
非消耗型は、最初の1回目以外に課金されることはありません。そして、2回目以降の場合は、「無料で入手しますか?」というようなメッセージになリます。
(1) 初回
→ |
(2) 2回目以降
→ | → |
4 自動更新登録
「自動更新購読」なんじゃ無いの?と思われる方も多いと思いますが、名前が変わったようで、現在iTunes Connectでは「自動更新登録」となっています。
自動更新登録は、2回目以降、自動的に購入されるため、ユーザは更に購入を行うことはできません。そして、次の自動更新の時期が表示されています。また、「管理」というボタンが表示され自動更新の停止処理が可能になってるのが特徴的です。
(1) 初回
→ | → |
(2) 2回目以降
→ | → |
5 無料登録
無料は、特に課金が発生せず何度でも購入でき、また、メッセージも一定です。
(1) 初回も2回目以降も同じ
→ |
(2) 登録が必要ない
無料登録だけが特別なのですが、下記のように課金のプロダクトを作成するだけで購入が可能です。
他のタイプのようにアプリの方に登録の必要はありません。
6 非更新登録
こちらも「非更新購読」なんじゃ無いの?という所ですが、現在は、「非更新登録」となっています。
期間の管理は、完全にアプリ側に任されており、何度でも購入可能ですが、2回目以降は「更新または延長する」というようなメッセージが表示されます。
(1) 初回
→ |
(2) 2回目以降
→ | → |
7 最後に
今回は、正常系のメッセージを整理してみました。
アプリ内課金では、課金に関するトランザクションをクライアント側から開始してストアとの間の処理に入りますが、このトランザクションは、最終的にクライアントから明示的に終了しないと、いつまでも継続します。
処理中にアプリが終了した場合などは、そのトランザクションが次回起動時に継続することになります。
ここで、開発者が意図しない状態になると、上に整理したメッセージ以外が表示され混乱することになるかもしれません。
今一度、正常系のメッセージを整理しておくことは大事だと思いました。
8 参考資料
In-App Purchase
プログラミングガイド
レシート検証プログラミングガイド
[iOS]CargoBayを使用したアプリ内課金 (各種処理編)
[iOS] CargoBayを使用したアプリ内課金(実装編)